#include <iostream>
using namespace std;

class Base{
    protected:
        string name;
        int age;
    public:
        Base(){}
        Base(string n, int a):name(n), age(a){}
        ~Base(){}
};

class Leader:virtual public Base{
    protected:
        string post;
        string department;
    public:
        Leader(){}
        Leader(string n, int a, string p, string d):\
            Base(n, a), post(p), department(d){}
        ~Leader(){}
};

class Engineer:virtual public Base{
    protected:
        string profession;
        string leval;
    public:
        Engineer(){}
        Engineer(string n, int a, string p, string l):\
            Base(n, a), profession(p), leval(l){}
        ~Engineer(){}
};

class Chief_neer:public Leader, public Engineer{
    private:
        string like;
    public:
        Chief_neer(){}
        Chief_neer(string n, int a, string p, string d, string pro, string l, string like):\
            Base(n, a), Leader(n, a, p, d), Engineer(n, a, pro, l), like(like){}
        ~Chief_neer(){}
        void show(){
            cout << "姓名:" << name << endl;
            cout << "年龄:" << age << endl;
            cout << "职务:" << post << endl;
            cout << "部门:" << department << endl;
            cout << "专业:" << profession << endl;
            cout << "等级:" << leval << endl;
            cout << "爱好:" << like << endl;
        }
};

int main(int argc, const char *argv[]){
    Chief_neer c1("张三", 28, "讲师", "教学部", "C++", "高级", "读书");
    c1.show();
    return 0;
}